home *** CD-ROM | disk | FTP | other *** search
/ Computer Select (Limited Edition) / Computer Select.iso / msj / v06n06 / appgen.exe / PVSTOCK.EXE / CHESSMNY.C < prev    next >
Encoding:
C/C++ Source or Header  |  1991-11-01  |  3.1 KB  |  117 lines

  1.  
  2.      /********************************************************************
  3.       *
  4.       *   Source File: CHESSMNY.c                                        *
  5.       *   Description:                                                   *
  6.       *   Author:                                                        *
  7.       *   Date:        Tue Jun 25 06:25:03 1991                          *
  8.       *
  9.       ********************************************************************/
  10.  
  11.  
  12.  
  13. #include <windows.h>
  14. #include <time.h>
  15. #include "pv.h"
  16. #include "CHESSMNY.h"
  17.  
  18.  
  19. //VARIABLES_BEGIN
  20. //VARIABLES_END
  21.  
  22.  
  23. // Program entry point and main function
  24. int PASCAL WinMain(HANDLE hInstance,      // Application instance handle
  25.                    HANDLE hPrevInstance,  // Previous application instance
  26.                    LPSTR  lpszCmdLine,    // Pointer to command line arguments
  27.                    int    nCmdShow)       // Show Window argument
  28. {
  29.    static char szAppName[] = "CHESSMNY";
  30.    MSG      msg;
  31.  
  32.    hInst = hInstance;
  33.  
  34.    //BEGINFUNCTION_BEGIN
  35.    //BEGINFUNCTION_END
  36.  
  37. /*  Obtain FarProc address for View subclassing funtions  */
  38.    lpfnChessWndProc = (VIEWPROC)MakeProcInstance((FARPROC)ChessWndProc, hInstance);
  39.  
  40.    lpfnMakeLongPointer = MakeProcInstance(MakeLongPointer, hInstance);
  41.  
  42.    // Read resource and create view data structures
  43.    if(!(CHESSMNY = vwCreateView(hInst,    // Application instance handle
  44.                    "CHESSMNY",            // View resource name
  45.                    NULL,                  // No parent window handle
  46.                    lpfnChessWndProc,      // View callback function
  47.                    lpfnMakeLongPointer))) // Data segment callback function
  48.         return FALSE;
  49.  
  50.  
  51.  
  52.    //INITVIEW_BEGIN
  53.    //INITVIEW_END
  54.  
  55.    // Display view window 
  56.    if(!(hWndCHESSMNY = vwShowView(CHESSMNY)))
  57.    {
  58.         MessageBox(GetDesktopWindow(), "Unable to display view", "System Error",
  59.                    MB_SYSTEMMODAL | MB_ICONHAND | MB_OK);
  60.         return FALSE;
  61.    }
  62.  
  63.    // Main application message loop
  64.    while(GetMessage(&msg, NULL, 0, 0))
  65.    {
  66.        TranslateMessage(&msg);
  67.        DispatchMessage(&msg);
  68.    }
  69.    //TERMVIEW_BEGIN
  70.    //TERMVIEW_END
  71.    FreeProcInstance((FARPROC)lpfnChessWndProc);
  72.    FreeProcInstance(lpfnMakeLongPointer);
  73.  
  74.    return msg.wParam;
  75. }
  76.  
  77. long FAR PASCAL ChessWndProc(HWND hWnd, WORD wMessage, WORD wParam, LONG lParam)
  78. {
  79.    GETVIEW;
  80.    //WINDOWPROCVARIABLES_BEGIN
  81.    //WINDOWPROCVARIABLES_END
  82.  
  83.  switch(wMessage)
  84.    {
  85.        //WINDOWPROC_BEGIN
  86.        //WINDOWPROC_END
  87.  
  88.        case WM_INITDIALOG :
  89.        //WM_INITDIALOG_BEGIN
  90.        //WM_INITDIALOG_END
  91.             break;
  92.  
  93.        case WM_COMMAND :
  94.                 switch(wParam)
  95.               {
  96.                //CUSTOMCOMMAND_BEGIN
  97.                //CUSTOMCOMMAND_END
  98.               }
  99.               break;
  100.  
  101.        case WM_DESTROY :
  102.               PostQuitMessage(0);
  103.               break;
  104.  
  105.    }
  106.    return DefViewProc(hWnd, wMessage, wParam, lParam);
  107. }
  108.  
  109. BOOL FAR PASCAL MakeLongPointer()
  110. {
  111. static void far *Ptr;
  112.    Ptr = &Ptr;
  113.    return(HIWORD(Ptr));
  114. }
  115. //CUSTOMCODE_BEGIN
  116. //CUSTOMCODE_END
  117.